草庐IT

OutOfMemoryError 和 StackOverflowError

全部标签

java.lang.OutOfMemoryError GC 开销限制超过 Java 堆空间?

java.lang.OutOfMemoryError:Javaheapspace是什么意思该消息意味着应用程序只需要比正常运行可用的更多Java堆空间。java.lang.OutOfMemoryError:GCoverheadlimitexceeded是什么意思此消息意味着由于某种原因,垃圾收集器占用了过多的时间(默认情况下占进程所有CPU时间的98%),并且在每次运行中回收的内存很少(默认情况下占堆的2%)。这在内部也意味着当应用程序只需要比正常运行可用的更多Java堆空间时。那么我的问题是,以上两种情况会触发哪种情况?所以这是我的理解,何时会根据场景抛出特定异常:-假设我分配了1G

java - Hibernate:在 StackOverflowError 中合并多对多结果

我有一个多对多的关系,链接表有一个额外的字段。因此,根据以下教程,关系是通过2个一对多关系完成的:http://www.mkyong.com/hibernate/hibernate-many-to-many-example-join-table-extra-column-annotation/comment-page-1/#comment-122181我有2个实体,第三个实体定义了链接表并包含一个@EmbeddableID字段。关系定义为:@OneToMany(fetch=FetchType.LAZY,mappedBy="pk.compound",cascade=CascadeType

java - 无限递归,霍夫曼树中的 StackOverflowError

我正在研究霍夫曼编码程序,我快完成了,但我陷入了无限递归循环。有谁知道这是哪里出了问题?这是我遇到的错误:Exceptioninthread"main"java.lang.StackOverflowErroratsun.nio.cs.SingleByteEncoder.encodeLoop(SingleByteEncoder.java:130)atjava.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:544)atsun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:25

java - Gson:序列化 java.nio.Path 导致 StackOverflowError

序列化它,导致StackOverFlowError:importjava.nio.file.Path;importjava.nio.file.Paths;publicclassTmp{privatePathpath=null;publicTmp(){path=Paths.get("c:\\temp\\");}}在我看来这像是一个错误!或者我做错了什么?是否有解决方法(期望编写一些将路径转换为字符串的自定义序列化程序)java.lang.StackOverflowErroratcom.google.gson.internal.$Gson$Types.resolve($Gson$Types

java - 当我接近 OutOfMemoryError 时,如何在 java 中确定?

我需要找出真正接近OutOfMemoryError的时间,以便将结果刷新到文件并调用runtime.gc();。我的代码是这样的:Runtimeruntime=Runtime.getRuntime();...if((1.0*runtime.totalMemory()/runtime.maxMemory())>0.9){...flushresultstofile...runtime.gc();}有更好的方法吗?有人可以帮我一下吗?编辑我知道我这样是在玩火,所以我想用一种更可靠、更简单的方法来确定我什么时候吃饱了。我目前正在使用Jena模型,所以我做了一个简单的检查:如果模型有超过550k

java - Jmeter java.lang.OutOfMemoryError : GC overhead limit exceeded 错误

我正在使用Jmeter将工作负载注入(inject)部署在AWSEC2实例上的应用程序。测试必须非常庞大:它持续10个小时,工作负载配置文件具有双峰形状,5分钟内大约有2600个请求。实际上我有一个部署了应用程序的m3.xlarge实例和8个m3.xlarge实例,每个实例都运行一个jmeter实例。使用python脚本,要注入(inject)的工作负载被分配到8个客户端实例中,因此在示例中,如果原始工作负载注入(inject)800个请求,则每个jmeter实例将注入(inject)100个请求。正如我所说,完整测试持续10小时,并分为每个5分钟的时间步长。每5分钟应用一点工作量变化

java - 使用 HtmlUnit 进行抓取时出现 OutOfMemoryError

我正在使用HtmlUnit登录网站,然后从表中下载数据当我运行我的代码时,导致java.lang.OutOfMemoryError并且无法进一步运行。以下是我的代码:WebClientwebClient=newWebClient(BrowserVersion.INTERNET_EXPLORER_6);webClient.getOptions().setJavaScriptEnabled(true);webClient.getOptions().setCssEnabled(false);webClient.getOptions().setRedirectEnabled(true);web

java.lang.OutOfMemoryError : PermGen space error with Jetty 错误

我目前收到一个java.lang.OutOfMemoryError:PermGenspace。我正在使用Jetty和LinuxUbuntu。我曾尝试阅读并尝试在之前的类似问题中提供的不同解决方案,但没有取得任何成功。一个类似的问题是Dealingwith“java.lang.OutOfMemoryError:PermGenspace”error但这些解决方案似乎使用Tomcat而不是Jetty。如果我重新部署我的服务几次,我会不断收到内存不足错误。例如,为了测试这个,我将转到我的webapps文件夹并运行touch*.xml来更新时间戳,然后重新运行jetty,我得到了内存不足错误。在

java - Spark 应用程序 - Java.lang.OutOfMemoryError : Java heap space

我用的是SparkStandalone单机,128G内存,32核。以下是我认为与我的问题相关的设置:spark.storage.memoryFraction0.35spark.default.parallelism50spark.sql.shuffle.partitions50我有一个Spark应用程序,其中有一个用于1000个设备的循环。对于每个循环(设备),它都会准备特征向量,然后调用MLLib的k-Means。在循环的第25到30次迭代(处理第25到第30个设备)时,它遇到了“Java.lang.OutOfMemoryError:Java堆空间”的错误。我尝试将memoryFra

java - SoftReferences 与 Weakreferences/OutOfMemoryError

我在处理软引用和弱引用时遇到了问题。代码有一个可以切换的标志软引用和弱引用之间的所有逻辑。虽然引用很弱,但似乎为了工作正常,使用软引用我一直得到OutOfMemoryError。这种情况发生在MacOSX上的JDK7和JDK6以及Debian上的IcedTea6上。然而,带有G1收集器的JDK7是我发现使用软引用的设置,我尝试的其他所有内容(串行/并行GC、-client/-server等)都失败了异常。代码有点大,但我已尝试在保留问题的同时尽可能缩小范围。我在上面留下了大量评论,更详细地描述了如何重现问题。/***Leakling.java***Issue:***Thiscodeth